Chrome 138 beta

Pubblicata: 28 maggio 2025

Salvo diversa indicazione, le seguenti modifiche si applicano alla versione più recente del canale beta di Chrome per Android, ChromeOS, Linux, macOS e Windows. Scopri di più sulle funzionalità elencate qui tramite i link forniti o dall'elenco su ChromeStatus.com. Chrome 138 è in versione beta dal 28 maggio 2025. Puoi scaricare la versione più recente su Google.com per computer o sul Google Play Store su Android.

CSS e UI

Questa release aggiunge sei nuove funzionalità CSS e UI.

Parola chiave per le dimensioni stretch CSS

Una parola chiave per le proprietà di dimensionamento CSS (ad es. width e height) che consente agli elementi di espandersi fino a riempire esattamente lo spazio disponibile del blocco contenente. È simile a 100%, tranne per il fatto che la dimensione risultante viene applicata alla casella del margine dell'elemento anziché alla casella indicata da box-sizing. L'utilizzo di questa parola chiave consente all'elemento di mantenere i margini mantenendo al contempo le dimensioni più grandi possibili.

Le funzioni relative al segno abs() e sign() calcolano varie funzioni legate al segno del loro argomento.

Variabile di ambiente CSS per la scala dei caratteri a livello di sistema operativo

Espone la scala dei caratteri preferita di un utente al CSS. Al momento, non è pratico per una pagina rilevare se l'utente ha modificato le dimensioni del carattere preferite con le preferenze del sistema operativo. Questa variabile di ambiente CSS rifletterà la scala scelta dall'utente.

sibling-index() e sibling-count() CSS

Le funzioni sibling-index() e sibling-count() possono essere utilizzate come numeri interi nei valori delle proprietà CSS per applicare uno stile a un elemento in base alla sua posizione tra i fratelli o al numero totale di fratelli, rispettivamente. Queste funzioni possono essere utilizzate direttamente come valori interi, ma ciò che è più interessante è che possono essere utilizzate all'interno delle espressioni calc().

li {
  animation-delay: calc(0.1s * sibling-index());
}

Notazione funzionale dell'avanzamento dell'interpolazione: funzione progress() CSS

La notazione funzionale progress() è una funzione matematica che restituisce un valore <number> che rappresenta la posizione di un calcolo (il valore di avanzamento) tra altri due calcoli (il valore di inizio avanzamento e il valore di fine avanzamento).

API Enumeration Viewport Segments

L'API Viewport Segments consente agli sviluppatori di adattare il layout web in modo da avere come target i dispositivi pieghevoli. I segmenti dell'area visibile definiscono la posizione e le dimensioni di una regione distinta dal punto di vista logico dell'area visibile. I segmenti del viewport vengono creati quando il viewport è suddiviso da una o più funzionalità hardware (ad esempio una piega o una cerniera tra display separati) che fungono da divisori. I segmenti sono le regioni del viewport che possono essere trattate come logicamente distinte dallo sviluppatore.

API web

Aggiunta del supporto per i metadati relativi all'orientamento dei fotogrammi video a WebCodecs

Vengono introdotti i valori rotation: int e flip: bool in varie interfacce relative ai video in WebCodecs in modo che gli sviluppatori possano lavorare con origini frame che hanno un orientamento (ad esempio, fotocamere Android e determinati contenuti multimediali). L'interfaccia VideoFrame aumenta la possibilità di creare VideoFrame con rotazione e capovolgimento arbitrari, nonché gli accessori per queste informazioni sull'oggetto VideoFrame. L'oggetto VideoDecoderConfig ottiene i campi rotation e flip che vengono emessi automaticamente sugli oggetti VideoFrame decodificati. La classe VideoEncoder ottiene meccanismi per trasmettere informazioni su rotazione e capovolgimento da encode() a VideoDecoderConfig emesse nell'ambito di EncodedVideoChunkMetadata. Se viene chiamato encode() con frame con orientamento diverso, verrà generata un'eccezione non fatale. Il metodo configure() può essere utilizzato per reimpostare l'orientamento consentito.

API Crash Reporting: is_top_level e visibility_state

Questa funzionalità aggiunge i campi di stringa is_top_level e visibility_state al corpo dell'API di generazione di report sugli arresti anomali che viene inviato all'endpoint di reporting predefinito per i report sugli arresti anomali.

Esegui la fuga di < e > negli attributi durante la serializzazione

Esegui la fuga di < e > nei valori degli attributi durante la serializzazione. In questo modo, si riduce il rischio di attacchi XSS di mutazione, che si verificano quando il valore di un attributo viene interpretato come token di tag di inizio dopo essere stato serializzato e analizzato di nuovo.

Norme di integrità per gli script

Subresource-Integrity (SRI) consente agli sviluppatori di assicurarsi che gli asset che intendono caricare siano effettivamente quelli che stanno caricando. Tuttavia, al momento non esiste un modo per gli sviluppatori di assicurarsi che tutti i loro script siano convalidati utilizzando SRI. L'intestazione Integrity-Policy consente agli sviluppatori di affermare che ogni risorsa di un determinato tipo deve essere sottoposta a controllo di integrità. Se si tenta di caricare una risorsa di questo tipo senza metadati di integrità, il tentativo non andrà a buon fine e verrà attivato un report di violazione.

Quota di spazio di archiviazione registrata prevedibile

Segnala una quota di spazio di archiviazione prevedibile dall'API di stima di StorageManager per i siti che non dispongono di autorizzazioni di archiviazione illimitate. È possibile rilevare la modalità di navigazione di un utente utilizzando la quota di spazio di archiviazione registrata perché lo spazio di archiviazione reso disponibile è notevolmente inferiore in modalità di navigazione in incognito rispetto alla modalità normale.

Si tratta di una misura di mitigazione che impedisce il rilevamento della modalità di navigazione di un utente utilizzando l'API di archiviazione registrando una quota artificiale, pari a utilizzo + min(10 GB, disco con arrotondamento per eccesso al GB più vicino), in tutte le modalità di navigazione per i siti con autorizzazioni di archiviazione limitate. I siti con autorizzazioni di archiviazione illimitate non saranno interessati. Anche la quota impostata non sarà interessata.

Evento pushsubscriptionchange al momento della nuova sottoscrizione

L'evento pushsubscriptionchange viene attivato nei worker di servizio quando viene concessa nuovamente l'autorizzazione di notifica a un'origine per la quale in passato era stato creato un abbonamento push, ma che è stata revocata a causa di una modifica dell'autorizzazione (da concessa a rifiutata/predefinita). L'evento verrà attivato con oldSubscription e newSubscription vuoti.

Regole di speculazione: aggiungi prefetchCache e prerenderCache all'intestazione Clear-Site-Data

Due nuovi valori per l'intestazione Clear-Site-Data per aiutare gli sviluppatori a scegliere come target la cancellazione della cache di prerendering e prefetch: prefetchCache e prerenderCache. Possono essere inviati per qualsiasi richiesta e non devono essere effettuati sulla richiesta del documento (ad esempio, possono essere restituiti in risposta alle chiamate dell'API di aggiunta al carrello o di accesso e logout per eliminare le speculazioni sulla modifica dello stato).

Regole di speculazione: campo target_hint

Questa estensione della sintassi delle regole di speculazione consente agli sviluppatori di specificare il campo target_hint. Questo campo fornisce un suggerimento per indicare un target navigabile in cui verrà attivata una pagina sottoposta a prerendering. Quando _blank viene specificato come indicazione, è possibile attivare una pagina sottoposta a prerendering per una pagina navigabile aperta da window.open(). Il campo non è supportato per il pre-caricamento.

Norme relative allo stesso dominio rigorose per l'API Storage Access

Modifica la semantica dell'API Storage Access in modo da rispettare rigorosamente il criterio di stessa origine per quanto riguarda la sicurezza. In altre parole, l'utilizzo di document.requestStorageAccess() in un frame associa i cookie alle richieste all'origine (non al sito) dell'iframe per impostazione predefinita.

API Summarizer

Un'API JavaScript per produrre riepiloghi del testo inserito, supportata da un modello linguistico di IA. È sempre più probabile che i browser e i sistemi operativi accedano a un modello linguistico. Esponendo questo modello integrato, evitiamo che ogni sito web debba scaricare il proprio modello linguistico di diversi gigabyte o inviare il testo di input ad API di terze parti. L'API di sintesi in particolare espone un'API di alto livello per l'interfaccia con un modello linguistico al fine di riepilogare gli input per una serie di casi d'uso in un modo che non dipende dal modello linguistico specifico in questione. È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings) per disattivare il download del modello sottostante, che renderebbe questa API non disponibile.

Scopri di più nell'articolo Generare riepiloghi concisi con l'IA integrata.

API Language Detector

Un'API JavaScript per rilevare la lingua utilizzata in un determinato testo, con livelli di fiducia. Il rilevamento della lingua è un importante supplemento alla traduzione e può essere utilizzato in combinazione con l'API Translator. Ad esempio, puoi acquisire l'input dell'utente in una lingua sconosciuta, determinarne la lingua e poi tradurlo in una lingua di destinazione specifica. Sebbene i browser spesso dispongano già di funzionalità di rilevamento della lingua, questa API offre la stessa potenza agli sviluppatori web con un'API JavaScript, integrando l'API di traduzione.

È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings) per disattivare il download del modello sottostante, il che renderebbe questa API non disponibile.

Scopri di più in Rileva la lingua utilizzata con l'IA integrata.

API Translator

Un'API JavaScript per fornire funzionalità di traduzione linguistica alle pagine web. Sebbene i browser offrano sempre più spesso la traduzione di lingue ai propri utenti, queste funzionalità di traduzione possono essere utili anche per gli sviluppatori web. Questo accade soprattutto quando le funzionalità di traduzione integrate del browser non possono essere d'aiuto, ad esempio con i servizi dal vivo e interattivi. È disponibile un criterio aziendale (GenAILocalFoundationalModelSettings) per disattivare il download del modello sottostante che renderebbe questa API non disponibile.

Scopri di più nella sezione Traduzione con l'IA integrata.

Estensioni dell'ambito delle app web

Aggiunge un campo manifest dell'app web "scope_extensions" che consente alle app web di estendere il loro ambito ad altre origini. In questo modo, i siti che controllano più sottodomini e domini di primo livello possono essere presentati come una singola app web. Richiede che le origini elencate confermino l'associazione con l'app web utilizzando un file di configurazione .well-known/web-app-origin-association.

Seriale web tramite Bluetooth su Android

Questa funzionalità consente alle pagine web e alle app web di connettersi alle porte seriali tramite Bluetooth su dispositivi Android. Chrome su Android ora supporta l'API Web Serial tramite Bluetooth RFCOMM. I criteri di Enterprise esistenti (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls e SerialBlockedForUrls) su altre piattaforme sono attivati negli stati future_on per Android. Tutti i criteri tranne SerialAllowUsbDevicesForUrls verranno attivati dopo l'attivazione della funzionalità. SerialAllowUsbDevicesForUrls verrà attivato in un lancio futuro dopo che Android avrà fornito il supporto a livello di sistema delle porte seriali cablate.

Ritiro e rimozione

Questa versione di Chrome introduce le seguenti ritiri e rimozioni. Visita ChromeStatus.com per gli elenchi delle ritirate pianificate, delle ritirate in corso e delle rimozioni precedenti.

Questa release di Chrome ritira due funzionalità.

Ritiro della rimozione dell'intervallo asincrono per le estensioni Media Source

Lo standard Media Source è stato modificato molto tempo fa per non consentire un comportamento definito in modo ambiguo che prevede la rimozione di intervalli asincroni:

  • SourceBuffer.abort() non interrompe più le operazioni SourceBuffer.remove().
  • L'impostazione MediaSource.duration non può più troncare i contenuti multimediali attualmente memorizzati nella cache.

Ora verranno lanciate eccezioni in entrambi i casi.

Rimuovere il fallback di SwiftShader

La possibilità di eseguire il fallback automatico a WebGL supportato dal renderer software SwiftShader è deprecata e la creazione del contesto WebGL non andrà a buon fine anziché eseguire il fallback a SwiftShader. Questa decisione è stata presa per due motivi principali:

  1. SwiftShader presenta un rischio elevato per la sicurezza a causa del codice JIT in esecuzione nel processo GPU di Chromium.
  2. Gli utenti hanno un'esperienza negativa quando passano da un WebGL ad alte prestazioni supportato dalla GPU a un'implementazione supportata dalla CPU. Gli utenti non hanno alcun controllo su questo comportamento ed è difficile descriverlo nei report di bug.

Durante il periodo di ritiro, nella console di Chrome DevTools viene visualizzato un avviso quando viene creato un contesto WebGL e supportato con SwiftShader. Se passi --enable-unsafe-swiftshader, questo messaggio di avviso verrà rimosso.